package com.huluobo.jetpackkotlindemo.livedata_viewmodel

import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel

/**
 * Created by lc on 2022/12/2.
 * ViewModel 总结:
 * 1.实现的是数据共享
 * 2.保持数据的同步性,在任意界面或者是类中,可以保证数据的唯一性
 * 3.使用时,不需要new,通过ViewModelProvider(this).get(CLASS),this中传递的一定钥匙一个宿主对象(Owner)
 * 4.需要注意的是在androidx.appcompat:appcompat:1.4.1包下才有对应的方法,1.31没有宿主对象的方法
 */
class AdViewModel : ViewModel() {
    var millisInFuture: Long = 5000

    /**
     * 计时结果
     */
    private var timingResult = MutableLiveData<Long>()

    val _timingResult: MutableLiveData<Long>
        get() = timingResult

    //postValue相当于在子线程中进行赋值操作
    //setValue相当于在UI线程进行赋值操作
    fun setAdTimingResult(millisInFuture: Long) {
        timingResult.value = millisInFuture
    }
}